Code First Approach

Microsoft Technologies - এন্টিটি ফ্রেমওয়র্ক (Entity Framework) Entity Framework এর অ্যাপ্রোচসমূহ (Approaches of Entity Framework) |
201
201

Code First একটি Entity Framework এর ডিজাইন প্যাটার্ন, যা ডেভেলপারদের কোড দিয়ে ডেটাবেসের স্ট্রাকচার তৈরি করতে সহায়তা করে। এর মাধ্যমে ডেটাবেস স্কিমা তৈরি করার জন্য ডেটাবেসের পূর্বে কোনো স্ট্রাকচার বা টেবিল ডিজাইন করার প্রয়োজন নেই। Code First পদ্ধতিতে, প্রথমে মডেল ক্লাস তৈরি করা হয়, এবং তারপর Entity Framework সেই ক্লাসগুলোকে ডেটাবেস টেবিল এবং অন্যান্য অবজেক্টে রূপান্তর করে।


Code First Approach এর সুবিধা

  • ডেভেলপমেন্ট ফোকাস: Code First পদ্ধতি ডেভেলপারদের জন্য একটি কোড-বেসড ডেভেলপমেন্ট অ্যাপ্রোচ, যেখানে ডেটাবেস মডেল সাধারণ ক্লাসের মাধ্যমে তৈরি হয়। এতে ডেভেলপাররা তাদের লজিক এবং ডেটা মডেল কোডে ফোকাস করতে পারে।
  • ডেটাবেস তৈরি ও মাইগ্রেশন সহজ: Code First ব্যবহার করলে ডেটাবেসে পরিবর্তনগুলো সরাসরি কোডের মাধ্যমে করা যায়, এবং Entity Framework মাইগ্রেশন ব্যবহার করে ডেটাবেসের স্কিমাকে আপডেট করা যায়।
  • পুনরাবৃত্তি এড়ানো: Code First এ একই কোডের মাধ্যমে ডেটাবেস স্কিমা এবং মডেল তৈরি হওয়ায় কোড ও ডেটাবেসের মধ্যে কোনো অসঙ্গতি থাকে না।
  • মডেল অগ্রাধিকার: Code First পদ্ধতিতে আপনার মডেল ক্লাসই ডেটাবেসের চূড়ান্ত ডিজাইন হিসেবে কাজ করে, ফলে ডেভেলপাররা তাদের প্রয়োজন অনুযায়ী মডেল ডিজাইন করতে পারে।

Code First কীভাবে কাজ করে?

Code First পদ্ধতিতে, ডেটাবেস তৈরি ও আপডেট করার প্রক্রিয়া তিনটি প্রধান পদক্ষেপে বিভক্ত করা যেতে পারে:

  1. ডোমেন মডেল তৈরি: প্রথমে আপনার ডোমেন মডেল (যেমন ক্লাস) তৈরি করতে হবে। প্রতিটি ক্লাস এক একটি Entity হিসেবে কাজ করবে এবং এটিকে ডেটাবেস টেবিলের সাথে ম্যাপ করা হবে।

    উদাহরণস্বরূপ:

    public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }
    
  2. DbContext তৈরি: DbContext ক্লাস তৈরি করা হয়, যা Entity Framework এর মাধ্যমে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করে। এই ক্লাসের মাধ্যমে ডেটাবেস টেবিলগুলোর জন্য DbSet (যেমন, একটি DbSet<Student>) ব্যবহার করা হয়।

    উদাহরণস্বরূপ:

    public class SchoolContext : DbContext
    {
        public DbSet<Student> Students { get; set; }
    }
    
  3. ডেটাবেস মাইগ্রেশন: মডেল তৈরি হওয়ার পর, Entity Framework মাইগ্রেশন ব্যবস্থার মাধ্যমে ডেটাবেসের স্কিমা আপডেট বা তৈরি করা হয়। মাইগ্রেশন ব্যবহার করে ডেটাবেসে পরিবর্তনগুলো পরিচালনা করা যায়।

    প্রথম মাইগ্রেশন তৈরি করার জন্য নিচের কমান্ড ব্যবহার করা হয়:

    Add-Migration InitialCreate
    

    তারপর ডেটাবেস আপডেট করতে:

    Update-Database
    

Code First এর মাধ্যমে মডেল কনফিগারেশন

Code First পদ্ধতিতে, মডেল কনফিগারেশন Data Annotations এবং Fluent API এর মাধ্যমে করা যেতে পারে।

১. Data Annotations ব্যবহার করা

ডেটা অ্যানোটেশনগুলির মাধ্যমে আপনি মডেল প্রপার্টি ও ক্লাসের উপর সীমিত কনফিগারেশন করতে পারেন। উদাহরণস্বরূপ:

  • Key: এটি প্রপার্টিকে প্রাইমারি কী হিসেবে চিহ্নিত করে।
  • Required: এটি নির্দিষ্ট প্রপার্টিকে আবশ্যক (Not Null) করে তোলে।
  • MaxLength: এটি প্রপার্টির সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করে।
public class Student
{
    [Key]
    public int Id { get; set; }
    
    [Required]
    [MaxLength(100)]
    public string Name { get; set; }
    
    [Range(5, 100)]
    public int Age { get; set; }
}

২. Fluent API ব্যবহার করা

Fluent API এর মাধ্যমে আরও জটিল কনফিগারেশন করা যায়, যা Data Annotations দিয়ে করা সম্ভব নয়। এটি OnModelCreating মেথডের মধ্যে করতে হয়।

public class SchoolContext : DbContext
{
    public DbSet<Student> Students { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Student>()
            .Property(s => s.Name)
            .IsRequired()
            .HasMaxLength(100);
        
        modelBuilder.Entity<Student>()
            .Property(s => s.Age)
            .HasDefaultValue(18);
    }
}

Database Initialization এবং Data Migrations

Code First পদ্ধতিতে ডেটাবেস তৈরি এবং স্কিমা আপডেট করার জন্য মাইগ্রেশন ব্যবস্থার ব্যবহার গুরুত্বপূর্ণ। মাইগ্রেশন মূলত ডেটাবেসের পরিবর্তনগুলো ট্র্যাক করে এবং ডেটাবেস স্কিমা আপডেট করতে সাহায্য করে।

  • Add-Migration: নতুন মাইগ্রেশন তৈরি করতে ব্যবহৃত কমান্ড।
  • Update-Database: মাইগ্রেশন চালানোর পর ডেটাবেসকে আপডেট করতে ব্যবহৃত কমান্ড।
  • Remove-Migration: একটি মাইগ্রেশন রোলব্যাক করতে ব্যবহৃত কমান্ড।

Code First-এর ব্যবহার এবং উপযুক্ততা

Code First পদ্ধতি সাধারণত ছোট এবং মাঝারি আকারের প্রজেক্টে ব্যবহার করা হয় যেখানে ডেভেলপারদের ডেটাবেসের স্ট্রাকচার পুরোপুরি কোডের মাধ্যমে কনট্রোল করতে হবে। তবে, যদি আপনি একটি বিদ্যমান ডেটাবেসের সাথে কাজ করছেন, তবে Database First বা Model First পদ্ধতিগুলি আরও উপযুক্ত হতে পারে।


Code First পদ্ধতি একটি অত্যন্ত শক্তিশালী টুল যা ডেটাবেস ডিজাইন এবং কনফিগারেশন প্রক্রিয়াকে সহজ করে তোলে, বিশেষ করে যদি আপনি মডেলগুলির পরিবর্তন করতে চান এবং ডেটাবেস মাইগ্রেশন পরিচালনা করতে চান।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion